home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / DEF / Midi / Setups / def-drumset < prev    next >
Text File  |  1998-10-23  |  5KB  |  173 lines

  1. def-drumset drumset-name &rest groups instruments notes
  2.  
  3. Defines a drumset which will appear on the Palette. The menu will let you pick up an instrument and use it with the corresponding drumset. 
  4.  
  5. (def-orchestra 'orchestra
  6.    all-instruments (drums)
  7.    drums (hihat1 hihat2 basl snare fill)
  8. )
  9.  
  10. (def-section-timesheet sect-a
  11.    with 1/1
  12.    tonality drums
  13.    drums     "----"
  14.    ;
  15.    ; drum pattern
  16.    ;
  17.    beat 1/16 ; 1---!---!---!---.---!---!---!---2---!---!---!---.---!---!---!---.
  18.    basl       "-   -   -   -   " (join-drums mu80-analog BDAnalogL ScratchPush2) with '(65)
  19.    snare      "    -           " (mu80-analog anasnareh) with '(35)
  20.    fill       "            -   " (mu80-analog whipslap) with '(35)
  21.    hihat1     " - - - - - - - -" (mu80-analog cabasa) with '(65 55)
  22.    hihat2     "- - - - - - - - " (mu80-analog AnaHHClosed1) with '(65 55)
  23. )
  24.  
  25. (def-section sect-a
  26.   drums
  27.     channel 10
  28. )
  29.  
  30. (play-file-p "drumtest"
  31.    all-instruments '(sect-a)
  32. )
  33.  
  34.  
  35. This defines the mu80-analog drumset used above. 
  36.  
  37. (def-drumset mu80-analog
  38.    group Misc
  39.       HiQ1          (d# 1)
  40.       HiQ2          (f# 2)
  41.       SurdoMute     (c# 1)
  42.       SurdoOpen     (d 1)
  43.    group Scratch
  44.       ScratchPush   (f 1)
  45.       ScratchPull   (f# 1)
  46.       ScratchPush2  (f# 6)
  47.       ScratchPull2  (g 6)
  48.    group Clicks
  49.       ClickNoise    (g# 1)
  50.       MetroClick    (a 1)
  51.       SeqClickL     (b 1)
  52.       SeqClickH     (c 2)
  53.    group Slaps&Claps
  54.       WhipSlap      (e 1)
  55.       FingerSnap    (g 1)
  56.       Vibraslap     (a# 4)
  57.       HandClap      (d# 3)
  58.    group Brush
  59.       BrushTap      (c# 2)
  60.       BrushSwirlL   (d 2)
  61.       BrushSlap     (d# 2)
  62.       SDRockH       (g 2)
  63.       Sticks        (g# 2)
  64.       SnareRoll     (f 2)
  65.       OpenRimShot   (a# 2)
  66.       AnalSideStick (c# 3)
  67.    group BassDrums
  68.       BassDrumM     (a 2)
  69.       BDAnalogL     (b 2)
  70.       BDAnalogH     (c 3)
  71.    group Snares
  72.       AnaSnareL     (d 3)
  73.       AnaSnareH     (e 3)
  74.    group Toms
  75.       AnalogTom1    (f 3)
  76.       AnalogTom2    (g 3)
  77.       AnalogTom3    (a 3)
  78.       AnalogTom4    (b 3)
  79.       AnalogTom5    (c 4)
  80.       AnalogTom6    (d 4)
  81.    group Hihats
  82.       AnaHHClosed1  (f# 3)
  83.       AnaHHClosed2  (g# 3)
  84.       AnaHHOpen     (a# 3)
  85.    group Cymbals
  86.       AnaCymbal     (c# 4)
  87.       RideCymbal1   (d# 4)
  88.       ChinaCymbal   (e 4)
  89.       RideCymbalCp  (f 4)
  90.       SplashCymbal  (g 4)
  91.       CrashCymbal2  (a 4)
  92.       RideCymbal2   (b 4)
  93.       ReversCymbal  (e 2)
  94.    group Bongos&Congas
  95.       BongoH        (c 5)
  96.       BongoL        (c# 5)
  97.       AnaCongaH     (d 5)
  98.       AnaCongaM     (d# 5)
  99.       AnaCongaL     (e 5)
  100.    group Shakes
  101.       AnaMaracas    (a# 5)
  102.       Shaker        (a# 6)
  103.       Tambourine    (f# 4)
  104.       Cabasa        (a 5)
  105.       GuiroShort    (c# 6)
  106.       GuiroLong     (d 6)
  107.    group Whistles
  108.       SambaWhistlH  (b 5)
  109.       SambaWhistlL  (c 6)
  110.    group Bells
  111.       AnaCowbel1    (g# 4)
  112.       MetroBell     (a# 1)
  113.       BelTree       (c 7)
  114.       JingleBell    (b 6)
  115.       TriangleOpen  (a 6)
  116.       TriangleMute  (g# 6)
  117.       TimbaleH      (f 5)
  118.       TimbaleL      (f# 5)
  119.       AgagoH        (g 5)
  120.       AgagoL        (g# 5)
  121.    group Unknown
  122.       Melody1       (c# 7)
  123.       Melody2       (d 7)
  124.       Melody3       (d# 7)
  125.       Melody4       (e 7)
  126.       Melody5       (f 7)
  127.       Melody6       (f# 7)
  128.       Melody7       (g 7)
  129.    group Blocks
  130.       AnaClaves     (d# 6)
  131.       WoodBlockH    (e 6)
  132.       WoodBlockL    (f 6) 
  133. )
  134.  
  135.  
  136. How drum voices correspond with symbols?
  137.  
  138. Drum set uses a tonality 'drums' which is a predefined chromatic tonality starting from (b 2). This means that symbol a produces b 2 which is a bass drum. Normally you don't have to care about these symbols and you can just refer voices by name, but occasionally you may need to write manually symbol patterns that use directly symbols. You can now ask both note and symbol
  139.  
  140. You can use calc-drum-symbol, calc-drum-name and calc-drum-note for calculating the corresponding symbols, drum names and notes within a set.
  141.  
  142. (calc-drum-symbol 'mu80-analog 'BDAnalogl)
  143. --> a
  144.  
  145. (calc-drum-name 'mu80-analog 'a)
  146. --> bdanalogl
  147.  
  148. (calc-drum-note 'mu80-analog 'bdanalogl)
  149. --> (b 2)
  150.  
  151. When using drum set access in def-rhythm you have to use eval. Remember also to use drums tonality name for all drum instruments.
  152.  
  153. (def-rhythm  
  154. ;               1               2
  155. ;               !---.---!---.---!  fill
  156. hihat1 '1/16   "       -        " (eval (mu80-analog AnaHHOpen))
  157. hihat2 '1/16   " - - - - - - - -" (eval (mu80-analog AnaHHClosed2))
  158. bass   '1/16   "- - - - - - - - " (eval (mu80-analog bdanalogl))
  159. snare  '1/16   "               -" (eval (mu80-analog anasnarel))
  160.  
  161. If you want to use drum voice patterns this is achieved giving two (or more) drum voices. Multiple voices will work also in def-section-timesheet.
  162.  
  163. (def-rhythm  
  164. ;               1               2
  165. ;               !---.---!---.---!  fill
  166. b&s    '1/16t  "-   -   -   -   "  (eval (mu80-analog bdanalogl anasnarel))
  167. )
  168.  
  169. (symbol-of b&s)
  170. --> (a = = = d = = = a = = = d = = =)
  171.  
  172.